MiniASM V1.66 Help
-------------------

MiniASM is a very simple assembler, that doesn't even do that.
It uses BBC BASIC in a cleaver way to produce executable files.
Because it uses BASIC, you can have macros and conditional assembly,
and produce compact code.

Please note, that this is FREEWARE, not PUBLIC DOMAIN.  You are free
to distribute it, as long as no changes are made to the program, or
the documentation.  It must contain all the files of the original.

This program was written by Rob Kendrick, who had nothing better to do 
at the time, except finding bugs in Slayer, which he hates quite vigorously. 
:'-(

I wrote this while I was learning assembler, and the only assembler I
had was BBC Basic, and I tired of having to write 10 lines of code
for every assembly, and the waiting for it to assemble, and the to
save the bloody file to a disc.  MiniASM makes it a simple matter
of dropping a Text (&FFF) file with plain assembler source, no
headers or 'segments' and saves an Absolute or Utility were ever you
want, allowing you to test your creations quickly.

Drag your source onto the MiniASM icon, and then drag the icon in the
save window to where you want to save it.

You are free to distribute any of your masterpieces without loyalty
payments; unlike a compiler, the outputed code is yours, MiniASM just
replaces things...

MiniASM was developed on my StrongARM RiscPC, at first using the quite 
wonderful DrWimp, so it took me less than 10 minutes to get a working
version.  Versions after V1.44 are written entirely by me, so they are
smaller, run faster, have a nicer user-interface, work properly ect...

Some things I might add if I can be bothered:
 	* If you have an immediate constant bigger than 8000, then either
 	  do some maths ExtASM (wonderful program) style, or load the value
 	  from memory. (LDR).
 	* Get macros to work correctly. (If at all)
 	* Constants that are replaced with values

This application is dedicated to listening to PSB very loudly, and Zap...

Version History
---------------
V1.66	(15-Feb-1997)
Added lines/sec to show how slow MiniASM really is... (7 in a window on a SA)
Added splash screen (poncy!)
Fixed bug with BASIC generation
WimpSlot up to 44k :(

V1.65   (14-Feb-1997)
Add exporting of Code into a BASIC for inclusion into BASIC programs.  Just
 press CTRL when you drag a file to MiniASM, and it will do the rest.
Fixed bugs where you couldn't use several meta-commands in included files.
Added '#OUTPUT' meta-command, so you can override the user's choice.
Added '#SMILE' meta-command, so MiniASM will smile if it assembles correctly.
Added '#SHUTUP' so any comments or headers included in exported code are
 removed.
If you have an AcornURI capable browser loaded, and you click on the Author
 box in the infobox, your browser will goto KiwiSoft's web site.
Generally tidied up code.  WimpSlot up to 40k :(


V1.63   (11-Feb-1997)
Added a throwback thing.  If DDEUtils is loaded, MiniASM will send errors to
any program that is registered as a throwback client (such as Zap and StrongED)
Added a nice little feature; '#MESSAGE' allows you to print a message to the
screen or the throwback.
Fixed a stupid bug with '#INCLUDE':
	IF LEFT$(line$,8)="#INCLUDE " THEN .... :-)
Added '#TYPE' meta-command to allow you to define the output type.

V1.62 	(31-Dec-1997)
Removed macros, they slowed down everthing, including the Earth's spin.
Fixed some more minor bugs, made the total assembler space to 10k.
You can now choose whether MiniASM to multi-task in a taskwindow, or single
task.

V1.61 	(29-Dec-1997)
Implemented macros.  They don't work.

V1.60	(28-Dec-1997) A BIG JUSTIFIABLE JUMP!
Added support for BasExt. (Floating point extention for BASIC)
Re-wrote (again) code generation.
Fixed bug (again) where MiniASM was wrongly reporting error line numbers
Finally added the saving of options to disc
Removed support for 'user load'; The code basic produces is relocatable anyway.
Did however, add 'user type'.
Did some optimisation to make it fit into a 36k wimpslot.
Added ability to change default filename.
Added messages file for multilingual versions.  (I wish...)
Removed that nasty bit of code that didn't work properly that put an 'A' on the
 end of filenames to stop you from overwriting your source.  If you do it now,
 your just plain silly.
Fixed interactive help. (It works now)

V1.44   (23-Dec-1997)
Complete re-write.  More stable, smaller, got 'include' statements to work
better. (Work at all would be a better description)
It now uses my own program shell rarther than DrWimp's or Luke's.
A hell of a lot of work for only 0.01 change.

V1.43 	(22-Dec-1997)
Added 'Module' output type, and slowed down version numbers, else I be on 12.0
soon...

V1.42   (30-Nov-1997)
Fixed the bug where it didn't report the correct line numbers when an error
occurred.

V1.40	(27-Sep-1997)
Added nestable 'include' statements

V1.30	(26-Sep-1997)
You can now get MiniASM to assemble your code
for loading at any point in memory.  The default address is the normal
one for the first block of memory you ask for in BASIC.

V1.20   (25-Sep-1997)
You can now assemble to a utility file.  I'm not quite sure what the
difference is for.  Absolute files start executing at &8000, but these
utilities start executing at &0.  I don't know why, but if someone does,
it can. (I know now, transient utilities are executed from the RMA)

V1.10   (24-Sep-1997)
It now puts the filename of the source plus an 'A' as the default filename
instead of 'untitled' or the last one.  This stops you from over writing
your source by accident - done many a time by myself.

v1.00	(23-Sep-1997)
First released version.  Put on a couple of A5000s at Totton College.
Works very quickly even on them, flys on mine.  Creates absolute files
that run!

v0.01	(22-Sep-1997)
What can I say apart from it didn't work properly?